package action.RDD基本转换操作1

import org.apache.spark.{SparkConf, SparkContext}

/**
  * Distinct 对RDD中的元素进行去重操作。
  *
  * @author wdmcode@aliyun.com
  * @version 1.0.0
  * @date 2018/11/7
  */
object SparkDistinct {
  /**
    * 对RDD中的元素进行去重操作。
    */
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setMaster("local[2]")
    conf.setAppName("map")

    val spark = new SparkContext(conf);


    // 获取resource下的文件
    val filePath = SparkMap.getClass.getResource("/") + "hello.txt"

    val data = spark.textFile(filePath)
    /**
      * \\s表示   空格,回车,换行等空白符,
      * +号表示   一个或多个的意思
      */
    val collect = data.flatMap(line => line.split("\\s+"))

    collect.foreach(s=>println(s))

    collect.distinct().foreach(s=>println(s))

    spark.stop()
  }
}
